12.1 Pull Request概述
可能很多朋友都不知道Pull Request是啥意思?
Github官方文档的定义如下:
Pull Request 是一种通知机制。你修改了他人的代码,将你的修改通知原来的作者,希望他合并你的修改,这就是 Pull Request,简称PR。
Pull Request 本质上是一种软件的合作方式,是将涉及不同功能的代码,纳入主干的一种流程。这个过程中,还可以进行讨论、审核和修改代码。
12.2 Pull Request流程
第一步:Fork源
Fork源项目到自己的github仓库中,就是把别人的代码,克隆到你自己的仓库。Github 的术语叫做 fork。
Fork成功后,自己仓库也会多出一模一样的Repository。
第二步:拉取Repository
将自己Github上的Repository 拉到本地。
使用以下命令:
#git clone git@github.com:Ouxiaolong/rt-thread.git
【注】关于git的安装与配置请参看笔者博文:
第三步:修改本地Repository
这一步就没啥说的。
第四步:与源Repository建立新的链接
1.查看当前链接情况
#git remote -v
命令查看本地Repository与哪些远程仓库建立了链接,你会发现:只与你的GitHub的Repository建立了链接,很显然没有与源所在的GitHub上的Repository建立链接,如下图:
与源所在的GitHub上的Repository建立链接
#git remote add upstream https://github.com/RT-Thread/rt-thread.git
查看当前链接情况:
第五步:修改Commit
新建工作分支
#git checkout -b dev
新建分支后会切换到新建的分支上。
查看分支:
#git branch
可以看到当前所在分支是“dev”。
第六步:提交本地代码
将本地的改动更新到远程仓库中(自己的Github仓库)
1.add
#git add [参数] <路径>
该命令作用就是将我们需要提交的代码从工作区添加到暂存区,就是告诉git系统,我们要提交哪些文件,之后就可以使用git commit命令进行提交了。
2.commoit
#git commit -m “注释”
git commit 主要是将暂存区里的改动给提交到本地的版本库。
3.push
#git push的一般形式为 git push <远程主机名> <本地分支名> <远程分支名>
将本地版本库的分支推送到远程服务器上对应的分支了
提交后成功后,就可以看到远程仓库上已经更新了.
第七步:发起PR(Pull Request)
到自己的GitHub的Repository上点击Pull Requests,再点击New pull requests按钮,如下图:
值得注意的是,Github也会提示你是否需要提交PR。
进入Comparing changes界面。这时,会进入一个新页面,有Base 和 Head 两个选项。Base 是你希望提交变更的目标,Head 是目前包含你的变更的那个分支或仓库。
值得注意的是,这个界面在源仓库。
然后按下"create pull request"按钮即可。
填写说明,帮助别人理解你的提交。
然后再按下"create pull request"按钮即可。
提交成功后,源仓库中可以看到新建的RP。
好了,等待源仓库的作者同意请求即可。